In virtual computing environments, host computers may execute a plurality of virtual machines that can be accessed as a service by end users. These users may login to the service via end user devices and, in response to the login, be provided with a virtual machine to accomplish desired tasks. Once the user logs out of the service or the virtual machine, the service may allocate the same virtual machine to a new requesting user.
Although this service model allows multiple users to access virtual machines and the applications available thereon, each of the users may require a different set of applications. For example, an engineer of an organization may require a different set of applications than a financial officer of the same organization. To remedy this issue, previous solutions have provided for attaching application volumes to a virtual machine in response to a login by an end user. For example, a user of the service may initiate a login process to a virtual machine and, in response to the login process, application volumes associated with the particular end user may be attached to the virtual machine.
Once the application volumes are attached, the user may execute the applications located in the attached volume as if the applications were locally installed on the virtual machine. However, delaying the attachment of storage volumes until a user initiates a login process can cause frustration, as applications and data may not be immediately available to the end user upon completing the login process. Further, in situations where a large number of users are logging into the service at or around the same instance, processing resources to attach the application volumes may become saturated, causing a delay for some users as volumes are attached to virtual machines of other users also logging into the service.